package com.ruoyi.common.core.enums;

import com.ruoyi.common.core.exception.ServiceException;
import lombok.Getter;

/**
 * 是和否
 *
 * @author ruoyi
 */
@Getter
public enum IOFlagEnum {
  IN(1, "入账"),
  OUT(-1, "出账");

  /**
   * 编码 0 或者 1
   */
  private final int code;
  /**
   * 中文名
   */
  private final String name;

  IOFlagEnum(int code, String name) {
    this.code = code;
    this.name = name;
  }

  /**
   * 判断相等
   */
  public boolean eqCode(int code) {
    return this.code == code;
  }

  /**
   * 根据code获取枚举
   *
   * @param code 编码
   * @return 枚举对象
   */
  public static IOFlagEnum getByCode(int code) {
    if (IN.eqCode(code)) {
      return IN;
    }
    if (OUT.eqCode(code)) {
      return OUT;
    }
    throw new ServiceException("出入账标记错误,请联系管理员");
  }

}
